Перейти к основному содержимому

iRidium для SIP-телефонии

Набор инструментов для создания интерфейсов, позволяющих совершать аудио- и видеовызовы между приложениями-клиентами iRidium (i3 pro), IP-телефонами и видеодомофонами с поддержкой стандарта SIP.

Документация обновлена: 17.10.2023

Описание

iRidium для SIP-телефонии позволяет создать интерфейс вызывной панели, работающий по протоколу SIP. Приложение i3 pro может принимать и совершать аудио- и видеовызовы.

Подсказка

Драйвер может быть использован на iRidium server только для реализации PUSH-уведомлений.

IRidium SIP

Поддерживаются кодеки (остальные желательно отключить в настройках SIP-сервера):

  • G711(PCMU(m-law), PCMA(a-law));
  • GSM;
  • G722;
  • H263;
  • H263-1998;
  • H264.

Протестированное оборудование:

  • Akuvox;
  • Dahua;
  • True IP (только для российских разработчиков);
  • Mobotix;
  • Urmet;
  • CAME BPT;
  • DoorBird;
  • 2N;
  • BasIP;
  • GUINAZ;
  • Fanvil.
Подсказка

Не поддерживается работа в фоновом режиме (получение вызова свернутым и закрытым приложением), но можно настроить push-уведомления.

Лицензирование:

  • используйте бесплатно в тестовом режиме i3 pro (через iRidium Transfer)
  • приобретите лицензию iRidium 3.x, дополнение "SIP-телефония" предоставляется бесплатно

Готовые интерфейсы

Готовые интерфейсы для работы i3 pro как SIP интеркома / панели домофона

Проект / УстройствоФункции
интерком (смартфон)
интерком (планшет, ПК)
- клавиатура для вызовов
- аудио- и видеовызовы
- прием вызовов
- "черный список" абонентов
- история вызовов
- настройка сервера
- настройка аудиофильтров
упрощенный интерком (смартфон)
упрощенный интерком (планшет, ПК)
- клавиатура для вызовов
- аудиовызовы
- прием вызовов
- "черный список" абонентов
- настройка аудиофильтров
панель домофона (смартфон)
панель домофона (планшет, ПК)
- кнопка вызова домофона
- прием вызова от домофона
- видео с камеры (если есть)
- можно добавить интерком
панель домофона Mobotix (смартфон)
панель домофона Mobotix (планшет, ПК)
- кнопка вызова домофона
- прием вызова от домофона
- изображение реального времени с видеокамеры
- открытие двери
- переключение света
- можно добавить интерком

Конфигурация оборудования и настройки, необходимые для того, чтобы iRidium подключился к SIP-серверу и мог совершать звонки.

SIP-сервер - может быть аппаратным или программным. Функция сервера - коммутация вызовов между подключенными к нему абонентами.

SIP-абонент - это iRidium на смартфоне, планшете или ПК, IP-телефон, видеодомофон. Абоненты могут вызывать друг друга только через сервер.

Настройка SIP-сервера

SIP-сервер (PBX-сервер) хранит список абонентов, которые могут вызывать друг друга, и делает возможным вызов абонента. Голосовую связь через SIP-сервер можно настроить между панелями iRidium, аппаратными и программными IP-телефонами, видеодомофонами, в квартире, доме или офисе.

Аудио- и видеовызовы могут передаваться как по локальной сети, так и через роутеры и интернет.

SIPstruct

Существуют три типа SIP-серверов:

  • программный SIP-сервер,
  • аппаратный SIP-сервер,
  • встроенный SIP-сервер в видеодомофонах,
  • облачный SIP-сервер (Cloud PBX).

iRidium не предоставляет готового SIP-сервера, поэтому необходимо использовать готовое решение.

Выберите подходящий SIP-сервер и настройте на нем несколько абонентов.

SIP-сервер имеет следующие реквизиты:

  • Host - это IP-адрес для сервера в локальной сети, для облачных и удалённых серверов - имя домена (Server domain, Realm),
  • Port - стандартно 5060.

Каждый абонент - это вызывная панель или домофон - имеет следующие реквизиты:

  • SIP ID (SIP-номер, логин) - уникальный номер или имя, используемый для идентификации абонента,
  • Password - пароль абонента для защиты от несанкционированного доступа к каналу связи,
  • Caller ID (Display Name, псевдоним) - любое имя, отображаемое при приёме звонков, например, Jack Nicholson.

Для успешного подключения очень важно, чтобы на стороне SIP-сервера и на стороне SIP-абонента были настроены одинаковые Host, Port, SIP-номер и пароль. Совпадение Caller ID не обязательно.

Ниже приведены бесплатные варианты SIP-серверов.

Подсказка

Проверьте условия и ограничения их бесплатного использования.

СерверТипПримечание
Linphone SIP ServiceОблачныйсоздайте аккаунты на linphone.org - каждый аккаунт имеет логин, который вы должны использовать в качестве номера абонента. Адрес сервера: sip.linphone.org
Linphone Flexisipпрограммный
(Linux, Mac OS, Windows, Android, iOS, BlackBerry)
-
3CX Phone Systemдля установки на ПК (Windows)
облачный
Инструкция
Asterisk FreePBXдля установки на ПК (Linux, Windows)Инструкция
FreePBXдля установки на ПК (Linux)-
Elastixдля установки на ПК (Linux)-
Yeastarоблачный-
ZadarmaОблачныйИнструкция
AntisipОблачныйИнструкция
Подсказка

Некоторые домофоны имеют встроенные SIP-серверы, например, у производителей Mobotix, Dahua, True IP.

Работа в iRidium Studio

Скачайте интерфейс вызывной панели и настройте его в iRidium Studio для подключения к SIP-серверу.

Настройка драйвера SIP

  1. В Project Device Panel, драйвер SIP, укажите параметры SIP-сервера и номер абонента, которым будет панель iRidium.

Sip2

  • Name – имя драйвера, НЕ меняйте в готовом интерфейсе;

  • Driver Type – информация о типе драйвера;

  • Protocol – протокол передачи данных UDP/TCP;

  • Host – IP-адрес или домен SIP-сервера;

  • Port – порт подключения к SIP-серверу. Обычно 5060, а для Mobotix T24/T25: 5061;

  • Password – пароль подключения абонента к SIP-серверу;

  • Caller ID (Name) – имя абонента (может совпадать с SIP номером);

  • SIP ID (Number) – SIP номер абонента;

  • SIP server – Mobotix T26, Another;

  • First RTP Port – начало диапазона портов голосового обмена. Обычно 40000, а для Mobotix T24/T25: 7078;

  • Last RTP Port – конец диапазона портов голосового обмена. Обычно 41000, а для Mobotix T24/T25: 9078. Пробросьте эти UDP порты на роутере при звонках через интернет;

  • Use SIP TONE – генерировать SIP сообщения тонального набора;

  • Use DTMF TONE - генерировать обычные сообщения тонального набора. Они передаются в голосовом потоке. Рекомендованы к использованию;

  • External IP – внешний IP адрес панели управления. Указывается только, если в поле Host - адрес удаленного SIP-сервера. Чтобы заполнять это поле автоматически при звонках через интернет, используйте инструкцию. В настройках абонента sip сервера 3CX отключите параметр: "Запретить подключение из публичной сети";

  • Codec PCMU, Codec PCMA, Codec GSM, Codec G722 – аудиокодеки SIP. Можно включить один или все одновременно. Если не выбран ни один, кодек выбирается автоматически. Выключать все кодеки нельзя;

  • Codec H263, Codec H263-1998, Codec H264 – видеокодеки SIP. Можно включить один или все видеокодеки. Если ни один не выбран, кодек будет выбран автоматически при видеовызове;

  • Корректировка звука. Переключить режимы корректировки следует во время вызова. Некоторые режимы включаются с помощью команд драйвера SIP (см. готовые проекты). Включать корректировку или нет - зависит от условий работы:

    • Echo Cancellation - подавление эхо;
    • Automatic Gain Control - автоматическая регулировка усиления исходящего звука (передаваемого с микрофона). Помогает уменьшить перегрузки, эхо и резкие скачки громкости, делая исходящий от устройства звук качественнее, но приводит к снижению его громкости. Значение 0 - параметр выключен, 1-31 - диапазон регулировки усиления. По умолчанию значение этой настройки - 20. Эта обработка звука входит в эхоподавление (EchoCancel), поэтому будет работать только при включенном EchoCancel.
    • Activation by voice - активация голосом. Приложение отправляет звук только при наличии речи, в остальное время выключает звук. Настройка помогает избавится от постороннего шума во время разговора.
  • Expiries - период истечения регистрации на SIP-сервере. Через заданный промежуток времени (в секундах) абонент автоматически начнёт перерегистрацию. Эта функция очень важна при работе с некоторыми SIP-серверами, которые периодически обновляют статус регистрации;

  • VoiceMail - активация голосовой почты. Если абонент i3 pro занят, отключен или просто не может принять звонок, автоответчик предлагает звонящему сохранить голосовое сообщение в виде звукового файла, которое хранится в SIP-сервере. Абонент i3 pro позже может прослушать голосовые сообщения путём звонка на специальный номер. Учтите, что SIP-сервер должен поддерживать функцию голосовой почты;
  • Use Decline - отправлять команду DECLINE вместе с CANCEL при завершении вызова (требуется для корректного завершения вызова при работе с некоторыми панелями, например 2N);
  • Preview Mode - режим предпросмотра. После того, как к вам поступит входящий звонок, ваш собеседник будет слышать только гудки дозвона, но не будет видеть и слышать вас, до тех пор, пока вы не ответите на звонок, отправив команду ANSWER. При этом вы будете получать аудио и видео (если был совершен видео-звонок) со стороны звонящего;
  • Do Not Disturb - режим “не беспокоить”. При включении автоматически отклоняет все входящие звонки.
  1. Статус вызывной панели при успешном подключении к серверу: On Hook... (SIP > Feedback > STATUS)

  2. Чтобы использовать вызывную панель без изменений, загрузите проект на панель управления.

  3. Чтобы добавить вызывную панель в свой, готовый проект, следуйте инструкции в видео.

Команды и обратные связи SIP-драйвера

Готовые интерфейсы вызывных панелей используют команды и сообщения драйвера SIP для совершения и принятия вызовов. Обработку вызова выполняет JavaScript файл, без которого визуальный интерфейс не будет работать корректно.

Список команд и каналов обратной связи драйвера SIP, которые вы можете использовать при модификации JavaScript обработчиков и напрямую, привязывая команды и каналы к графическим элементам:

SIP_drivercommands

Commands:

  • ANSWER - ответить на входящий звонок. Привяжите команду к кнопке:
    • Send Number: 0 - ответить с аудио вызовом;
    • Send Number: 1 - ответить с видео вызовом.
  • CALL - позвонить. Номер, куда будет совершен вызов, нужно заранее записать в Feedbacks > NUMBER, как строку. Привяжите команду к кнопке:
    • Send Number: 0 - аудио вызов;
    • Send Number: 1 - видео вызов.
  • CANCEL - отмена вызова. Привяжите команду к кнопке, Send Number: 0;
  • SEND TONE - отправить тоновое значение. Привяжите команду к кнопке, Send Number: 1-9; * = 10; # = 11;
  • REGISTER - зарегистрироваться на SIP-сервере. Привяжите команду к кнопке, Send Number: 0;
  • UNREGISTER - отключиться от SIP-сервера. Привяжите команду к кнопке, Send Number: 0;
  • SET AUDIO VOLUME - громкость динамиков (0-100%);
  • SET ECHO CANCELATION - эхоподавление, вкл/выкл (1/0);
  • SET MIC VOLUME - громкость микрофона (0-100%);
  • SET SPEECH SEND - включение/выключение (1/0) настройки "Activation by voice";
  • P2P CALL - совершить прямой звонок, без использования SIP-сервера, на IP адрес второго абонента:
    • Send Number: 0 - аудио вызов;
    • Send Number: 1 - видео вызов.
  • TRANSFER CALL - перенаправляет входящий звонок на указанный номер. В эту команду записывают номер, на который происходит перенаправление звонка.

Feedback:

  • AUDIO VOLUME - громкость динамиков (0-100%);
  • CODEC - тип данных звука и видео: Payload Type (PT) см. полный список;
  • DTMF CODE - последнее значение DTMF кода отправленное клиенту.
  • ECHO CANCELATION - эхоподавление, вкл/выкл (1/0);
  • EXPIRES - период срока регистрации на SIP-сервере;
  • FIRST RTP PORT - первый порт RTP диапазона;
  • INCOMING CALL - есть ли входящий звонок? 0 - нет, 1 - есть;
  • INCOMING CALL NAME - имя звонящего, текст;
  • INCOMING CALL NUMBER - номер звонящего, текст;
  • JITTER - (мс) качество связи, дрожание канала. Скачущие значения более 30 мс могут быть признаком нестабильной связи;
  • LAST RTP PORT - последний порт RTP диапазона;
  • MESSAGE ACCOUNT - ID абонента ящика голосовых сообщений;
  • MESSAGE LISTNED - количество прочитанных голосовых сообщений;
  • MESSAGE UNLISTENED - количество непрочитанных голосовых сообщений;
  • MIC VOLUME - громкость микрофона (0-100%);
  • NUMBER - номер абонента. В этот Feedback записывают значение через диалог "Send to Project Token > Send Number" в редакторе макросов, чтобы при вызове команды CALL позвонить указанному абоненту;
  • STATUS - текущий статус соединения (в текстовом виде):
    • On Hook... - подключен к SIP-серверу, готов к работе;
    • Connected... - создал подключение, готовлюсь к регистрации;
    • Disconnected... - принудительно отключен от сервера (командой драйверу);
    • Failed... - ошибка создания подключения (не связана с SIP-сервером);
    • Trying... запрос вызова обрабатывается;
    • Ringing... - местоположение вызываемого пользователя определено. Выдан сигнал о входящем вызове;
    • Incoming Call... - входящий вызов;
    • Talking... - разговор;
    • Preview... - режим предварительного просмотра, активируется при входящем звонке и позволяет видеть / слышать звонившего до нажатия кнопки ответа (работает только при активированном Preview Mode в настройках фидбэка STATUS);
    • Not Found... - вызываемый абонент не найден, нет такого SIP-номера;
    • Not Acceptable... - соединение с сервером было установлено, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации не доступны;
    • Not Available... - вызываемый абонент не доступен для вызова;
    • Declined... вызываемый пользователь не желает принимать входящие вызовы, не указывая причину отказа;
    • Request Pending... - запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу;
    • Service Unavailable... - сервер не может в данный момент обслужить вызов вследствие перегрузки или проведения технического обслуживания.
  • USED DTMF TONE - использование тонального набора DTMF: 0 - не используется, 1 - используется;
  • USED SIP TONE - использование тонального набора SIP: 0 - не используется, 1 - используется;
  • WAITING MESSAGE - наличие новых сообщений на голосовой почте для абонента: 0 - нет новых сообщений, 1 - есть новые непрослушанные сообщения.

Примеры работы с SIP в скрипте

Исходящий звонок на номер

Используется метод .Set() драйвера SIP. При отправке единицы на команду CALL осуществляется видео звонок, при отправке нуля - аудио звонок. Перед звонком следует задать исходящий номер.

var SIP = IR.GetDevice("SIP");   // name of SIP driver
SIP.SetFeedback("NUMBER", "4001"); //4001 - number to call
SIP.Set("CALL", 1); // 1 - videocall

Приём входящего звонка

Аналогично исходящему звонку, только нет необходимости указывать номер.

var SIP = IR.GetDevice("SIP");   // name of SIP driver  
SIP.Set("ANSWER", 0); // 0 - audiocall

Отмена входящего звонка

Следует отправить 0 на команду CANCEL.

var SIP = IR.GetDevice("SIP");   // name of SIP driver  
SIP.Set("CANCEL", 0);

Перенаправление входящего звонка

Позвонивший абонент будет перенаправлен для звонка на указанный номер.

var SIP = IR.GetDevice("SIP");   // name of SIP driver
SIP.Set("TRANSFER CALL", "103"); // 103 - number to transfer

Звонок с использованием P2P соединения

Прямой звонок, без использования SIP-сервера, на IP адрес второго абонента.

var SIP = IR.GetDevice("SIP");   // name of SIP driver
SIP.SetFeedback("P2P CALL IP", “192.168.0.33”); // 192.168.0.33 - IP adress to p2p call
SIP.Set("P2P CALL", 0); // 0 - audiocall

Открытие замка домофона через DTMF- или SIP-тон

DTMF- и SIP-тоны представляют собой сигналы о нажатии клавиш, передаваемые по протоколу SIP от абонента к абоненту. Домофоны умеют распознавать эти сигналы и выполнять определённые действия, например, открывать замок. Для этого в домофоне следует настроить код открытия двери, например, 123.

var SIP = IR.GetDevice("SIP");   // name of SIP driver  
SIP.Set("SEND TONE", 1); // tone of '1' key
SIP.Set("SEND TONE", 2); // tone of '2' key
SIP.Set("SEND TONE", 3); // tone of '3' key
SIP.Set("SEND TONE", 11); // tone of '#' key
Подсказка

В драйвере SIP должны быть установлены параметры Use DTMF TONE или Use SIP TONE в значение True.

Нужно удостовериться, что SIP-сервер и домофон поддерживают передачу и приём DTMF- или SIP-тонов.

Замок может быть открыт через DTMF- или SIP-тон только во время соединения с уличной панелью домофона.

Обычно домофоны поддерживают альтернативные способы открытия замка - специальные HTTP-запросы. Они могут быть удобнее тем, что в этом случае не требуется устанавливать соединение с домофоном, замок может быть открыт в любой момент.

Настройка различных моделей видеодомофонов

Рекомендованные домофоны - вызывные панели, можно подключить к SIP-серверам как абонентов, для совершения аудио- и видеовызовов:

AkuvoxAkuvox
DahuaDahua
True IP
только для российских разработчиков
True IP
MobotixMobotix
UrmetUrmet
CAME BPTCAME BPT
DoorBirdDoorBird
2N2N
BasIPBasIP
GUINAZGUINAZ
FanvilFanvil